# coding=utf-8
from tvtk.api import tvtk


'''
mytvtk 使用管线计数来吧各个绘图对象给串联起来。tvtk两种管线
    可视化管线：（Vusualization Pipeline),将原始数据加工成图形数据的过程
    图形管线：（Graphic PipeLine),图形数据的加工为我们可以看到的图像的过程。
    从数据到到可视化的全流程
'''
# 绘制ivtk_scene场景
def ivtk_scene(actors):
    from tvtk.tools import ivtk
    # 创建一个带有Crust  窗口（Python Sehll)
    win = ivtk.IVTKWithCrustAndBrowser()
    win.open()
    win.scene.add_actor(actors)
    return win

# 开始界面消息循环
def event_loop():
    from pyface.api import GUI
    gui = GUI()
    gui.start_event_loop()

# 创建数据源
s = tvtk.CubeSource(x_length=1.0, y_length=2.0, z_length=3.0)
# 使用PolyDataMapper  将数据转化为图形数据,映射器
m = tvtk.PolyDataMapper(input_connection=s.output_port)
#  创建一个Actor,Action 实体
a = tvtk.Actor(mapper=m)
win = ivtk_scene(a);
win.scene.isometric_view()
event_loop()